home *** CD-ROM | disk | FTP | other *** search
/ Aminet 2 / Aminet AMIGA CDROM (1994)(Walnut Creek)[Feb 1994][W.O. 44790-1].iso / Aminet / disk / cache / cacheclock.lha / CacheClock.doc < prev   
Text File  |  1993-05-31  |  7KB  |  191 lines

  1.  
  2.  
  3.                                  CacheClock
  4.  
  5.  
  6.              Floppy disk cache, free memory and time indicator
  7.  
  8.  
  9.                                  Version 1.1
  10.  
  11.  
  12.                        Copyright (c) 1993 Justin Leck
  13.  
  14.                               16th April 1993
  15.  
  16.  
  17.  
  18.  
  19. Introduction
  20. ------------
  21.  
  22.  CacheClock came about because I had two different programs running in the
  23. background (clock and memory indicator), and AddBuffers was eating away a
  24. lot of my Chip memory. It performs three functions :
  25.  
  26. 1) To display the amount of free memory available (both chip and fast)
  27. 2) To display the current time onscreen
  28. 3) To cache disk accesses, so cutting down the wear and tear on the drives.
  29.  
  30.   The first two speak for themselves, just run the program to see them in
  31. action. The disk caching remembers a number of disk sectors, and stores them
  32. in RAM. Any subsequent trackdisk requests to read this sector will result in
  33. the sector being copied from ram, without engaging the disk drives.
  34.  
  35.   What this means is that if you type DIR, then the drive will grunt and
  36. complain a great deal until the directory has been read in. Type DIR again,
  37. and the drive will remain quiet, but the directory will be displayed. What
  38. has happened is that on the first DIR, the sectors have been copied to
  39. memory, and on the second DIR, the sectors are read from memory instead of
  40. disk. This is much quieter, and also quicker.
  41.  
  42.  
  43. Why not use AddBuffers ?
  44. 1) AddBuffers only remembers whole disk tracks
  45. 2) AddBuffers holds the buffers in Chip Ram
  46. 3) AddBuffers allocates buffers to a specific drive
  47. CacheClock remembers disk sectors on a sector by sector basis, and
  48. stores this in public memory. CacheClock allocates the buffers to various
  49. drives as the need arises.
  50.  
  51.  
  52.   CacheClock consists of two windows, an expanded statistical display, and a
  53. shrunken window, displaying the free memory and time. To toggle between the
  54. two modes, select the CacheClock window, and press the right mouse button. 
  55.  
  56. The Large window looks something like:
  57. |----------||--------------------------||-------|
  58. |   Drive  ||    A     B     C     D   || Total |
  59. |----------||--------------------------||-------|
  60. |   Reads  ||    0     0     0     0   ||   0   |
  61. |   Writes ||    0     0     0     0   ||   0   |
  62. |  ReadHits||    0     0     0     0   ||   0   |
  63. |Percentage||                          ||       |
  64. |  Buffers ||    0     0     0     0   ||   0   |
  65. |----------||--------------------------||-------|
  66.  ---------- ---------------------------- --------
  67.  |  Fewer | |Free:2345592 Time:20:00:45| | More |
  68.  ---------- ---------------------------- --------
  69.  
  70. Disk A is the first drive used since CacheClock was installed, Disk B is the
  71. second, and so on. I may change this to DF0:, DF1: etc later.
  72.  The Reads/Writes fields indicate the number of sector reads or writes to the
  73. specific drives.
  74.  The ReadHits field shows how many disk sector reads have been copied from
  75. the cache instead of read in from disk.
  76.  The Buffers field shows how many disk sectors have been remembered for a
  77. certain drive. The Total number of sectors shows the maximum number of disk
  78. sectors which can be remembered.
  79.   The Fewer and More buttons free / allocate memory for use as disk buffers
  80. in the disk cache.
  81.  
  82.  
  83. Running CacheClock
  84. ------------------
  85. From Workbench:
  86. Double click on the CacheClock icon
  87.  
  88.   You'll have to supply your own icon, and there are no options available
  89.  
  90. From the CLI:
  91. Type :
  92. CacheClock [-<options>]
  93.  
  94. A brief list of options can be produced by typing "CacheClock ?". These are
  95. as follows:
  96.  
  97.     -b number    Default number of buffers
  98.             The number selects the maximum number of disk sectors
  99.             which can be remembered by the program
  100.  
  101.     -l        Large window
  102.             Starts CacheClock up showing the information window
  103.  
  104.     -x number    Default X co-ordinate
  105.     -y number    Default Y co-ordinate 
  106.             These options can force the CacheClock window to be
  107.             opened at any place on screen. If the window would
  108.             be placed offscreen, then no window is opened, and
  109.             the program quits.
  110.  
  111. The default settings are:
  112. 256 buffers, small window, place window at top of screen, just to the left of
  113. the window depth gadgets on kickstart 1.3
  114.  
  115. E.g.
  116. CacheClock -lb500 -x0 -y0
  117.  
  118. This will open the information screen, give CacheClock 500 buffers to use,
  119. and place the opened window at screen position (0,0)
  120.  
  121. CacheClock can only be run once. If you attempt to run CacheClock again,
  122. the program will just quit, leaving the original still running.
  123.  
  124. CacheClock detatches itself from the CLI, so there is no need to RUN it.
  125.  
  126. Running CacheClock with other Programs
  127. --------------------------------------
  128.   Since CacheClock patches the trackdisk.device routines, some virus killers
  129. may alert you that a virus is in memory. If you believe you may have been
  130. infected, try the virus killer without CacheClock running. CacheClock only
  131. alters the trackdisk base address.
  132.   Don't run CacheClock when fixing disks with fixdisk, or any other program
  133. which takes over the trackdisk handler, such as disk copiers. If you do, then
  134. do so at your own risk, and upon exiting the software, eject all disks from
  135. all your drives, to reset the disk caches.
  136.   Be careful when using CacheClock and the Action Replay Cartridge or other
  137. similar hardware devices, since if you save a file from within the cartridge,
  138. and then exit, the file may not show up in the directory. To remedy this,
  139. eject the disk and then exit from the cartridge. This will reset the disk
  140. cache.
  141.  
  142.  
  143. Technical Information
  144. ---------------------
  145.   The caching routine works by intercepting trackdisk.device (legally), and
  146. remembering all the sectors read in or written out to disk. If an attempt is
  147. made to read in a sector which has already been read in, then no disk IO is
  148. performed, and the sector is copied from memory. Disk writes are just
  149. remembered, nothing else.
  150.  Buffers are allocated from the unused buffer list, until no more are
  151. available. When this happens, the disk sector which was used last is used.
  152.  Ejecting a disk causes all the cached sectors for that disk to be added to
  153. the free list.
  154.  The display is updated every second, with only changes to the display being
  155. redrawn.
  156.  
  157.  
  158. History
  159. -------
  160. Version 1.1    - CacheClock now detaches itself from the CLI, no need to
  161.           RUN it anymore
  162.          - Bug fixed which caused a crash when called from workbench
  163.  
  164. Version 1.0    - First release
  165.  
  166. Other Useful Information
  167. ------------------------
  168.   This program is public domain, and you can do what you want with it (copy
  169. it, archive it, delete it, etc), just so long as this document accompanies
  170. it. (Powerpacker it if you want)
  171.  
  172.   CacheClock was written using Lecasm, and the source code will be
  173. distributed with the Lecasm macro assembler whenever I complete it. Lecasm
  174. is a one pass assembler, twice as quick as Devpac 2, combined editor and
  175. assembler and will probably be available as Shareware in the near future.
  176. The program was crunched using LeCrunch, my compression utility which will
  177. be available as Shareware shortly. This is CLI based, very short, and
  178. crunches faster and more efficiently than Imploder, and better than
  179. powerpacker on larger files (demos especially so).
  180.  
  181. If you have any comments, then contact me at the following address:
  182.  
  183.     Justin Leck
  184.     26 Fountains Close
  185.     Whitby
  186.     North Yorkshire
  187.     YO21 1JS
  188.     England
  189.  
  190.  
  191.